// 常用方法
import Axios from "axios";
import url from "@build/api"
var shareConfig ={}
export default {
  shareObj: "",
  
  // 传入一个对象 拼接成 a=1&b=2 的形式
  //到某一个时间的倒计时 动态倒计时需要自己添加定时器
  //getEndTime('2017/7/22 16:0:0')
  //result："剩余时间6天 2小时 28 分钟20 秒"
  getEndTime: function getEndTime(endTime) {
    var startDate = new Date(); //开始时间，当前时间
    var endDate = new Date(endTime); //结束时间，需传入时间参数
    var t = endDate.getTime() - startDate.getTime(); //时间差的毫秒数
    var d = 0,
      h = 0,
      m = 0,
      s = 0;
    if (t >= 0) {
      d = Math.floor(t / 1000 / 3600 / 24);
      h = Math.floor((t / 1000 / 60 / 60) % 24);
      m = Math.floor((t / 1000 / 60) % 60);
      s = Math.floor((t / 1000) % 60);
    }
    return (
      "\u5269\u4F59\u65F6\u95F4" +
      d +
      "\u5929" +
      h +
      "\u5C0F\u65F6" +
      m +
      "\u5206\u949F" +
      s +
      '\u79D2"'
    );
  },
  getTime: function getEndTime(endTime) {
    var startDate = new Date(); //开始时间，当前时间
    var endDate = new Date(endTime); //结束时间，需传入时间参数
    var t = endDate.getTime() - startDate.getTime(); //时间差的毫秒数
    var d = 0,
      h = 0,
      m = 0,
      s = 0;
    if (t >= 0) {
      d = Math.floor(t / 1000 / 3600 / 24);
      h = Math.floor((t / 1000 / 60 / 60) % 24);
      m = Math.floor((t / 1000 / 60) % 60);
      s = Math.floor((t / 1000) % 60);
    }
    return (
      "\u5269\u4F59\u65F6\u95F4" +
      d +
      "\u5929" +
      h +
      "\u5C0F\u65F6" +
      m +
      "\u5206\u949F" +
      s +
      '\u79D2"'
    );
  },
  //设置url参数
  //setUrlPrmt({'a':1,'b':2})
  //result：a=1&b=2
  setUrlPrmt: function setUrlPrmt(obj) {
    var _rs = [];
    for (var p in obj) {
      if (obj[p] != null && obj[p] != "") {
        _rs.push(p + "=" + obj[p]);
      }
    }
    return _rs.join("&");
  },
  //获取url参数 默认url是当前页面的url
  //getUrlPrmt('segmentfault.com/write?draftId=122000011938')
  //result：Object{draftId: "122000011938"}
  getUrlPrmt: function getUrlPrmt(url) {
    url = url ? url : window.location.href;
    var _pa = url.substring(url.indexOf("?") + 1),
      _arrS = _pa.split("&"),
      _rs = {};
    for (var i = 0, _len = _arrS.length; i < _len; i++) {
      var pos = _arrS[i].indexOf("=");
      if (pos == -1) {
        continue;
      }
      var name = _arrS[i].substring(0, pos),
        value = window.decodeURIComponent(_arrS[i].substring(pos + 1));
      _rs[name] = value;
    }
    return _rs;
  },
  //手机类型判断 参数是要判断的类型型号
  browserInfo: function browserInfo(type) {
    switch (type) {
      case "android":
        return navigator.userAgent.toLowerCase().indexOf("android") !== -1;
      case "iphone":
        return navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
      case "ipad":
        return navigator.userAgent.toLowerCase().indexOf("ipad") !== -1;
      case "weixin":
        return (
          navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1
        );
      default:
        return navigator.userAgent.toLowerCase();
    }
  },
  //函数节流
  // let count=0;
  // function fn1(){
  //     count++;
  //     console.log(count)
  // }
  // //100ms内连续触发的调用，后一个调用会把前一个调用的等待处理掉，但每隔200ms至少执行一次
  // document.onmousemove=delayFn(fn1,100,200)
  delayFn: function delayFn(fn, delay, mustDelay) {
    var timer = null;
    var t_start = void 0;
    return function() {
      var context = this,
        args = arguments,
        t_cur = +new Date();
      //先清理上一次的调用触发（上一次调用触发事件不执行）
      clearTimeout(timer);
      //如果不存触发时间，那么当前的时间就是触发时间
      if (!t_start) {
        t_start = t_cur;
      }
      //如果当前时间-触发时间大于最大的间隔时间（mustDelay），触发一次函数运行函数
      if (t_cur - t_start >= mustDelay) {
        fn.apply(context, args);
        t_start = t_cur;
      }
      //否则延迟执行
      else {
        timer = setTimeout(function() {
          fn.apply(context, args);
        }, delay);
      }
    };
  },
  //图片没加载出来时用一张图片代替
  aftLoadImg: function aftLoadImg(obj, url, errorUrl, cb) {
    var oImg = new Image(),
      _this = this;
    oImg.src = url;
    oImg.onload = function() {
      obj.src = oImg.src;
      if (cb && _this.istype(cb, "function")) {
        cb(obj);
      }
    };
    oImg.onerror = function() {
      obj.src = errorUrl;
      if (cb && _this.istype(cb, "function")) {
        cb(obj);
      }
    };
  },
  //图片滚动懒加载
  //@className {string} 要遍历图片的类名
  //@num {number} 距离多少的时候开始加载 默认 0
  //比如，一张图片距离文档顶部3000，num参数设置200，那么在页面滚动到2800的时候，图片加载。不传num参数就滚动，num默认是0，页面滚动到3000就加载
  //html代码
  //<p><img data-src="lawyerOtherImg.jpg" class="load-img" width='528' height='304' /></p>
  //<p><img data-src="lawyerOtherImg.jpg" class="load-img" width='528' height='304' /></p>
  //<p><img data-src="lawyerOtherImg.jpg" class="load-img" width='528' height='304' /></p>....
  //data-src储存src的数据，到需要加载的时候把data-src的值赋值给src属性，图片就会加载。
  //详细可以查看testLoadImg.html

  //window.onload = function() {
  //	loadImg('load-img',100);
  //	window.onscroll = function() {
  //		loadImg('load-img',100);
  //		}
  //}
  loadImg: function loadImg() {
    var className =
      arguments.length > 0 && arguments[0] !== undefined
        ? arguments[0]
        : "ec-load-img";
    var num =
      arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var errorUrl =
      arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
    var oImgLoad = document.getElementsByClassName(className);
    for (var i = 0, len = oImgLoad.length; i < len; i++) {
      //如果图片已经滚动到指定的高度
      if (
        document.documentElement.clientHeight +
          document.documentElement.scrollTop >
          oImgLoad[i].offsetTop - num &&
        !oImgLoad[i].isLoad
      ) {
        //记录图片是否已经加载
        oImgLoad[i].isLoad = true;
        //设置过渡，当图片下来的时候有一个图片透明度变化
        oImgLoad[i].style.cssText = "transition: ''; opacity: 0;";
        if (oImgLoad[i].dataset) {
          this.aftLoadImg(
            oImgLoad[i],
            oImgLoad[i].dataset.src,
            errorUrl,
            function(o) {
              var _this3 = this;

              //添加定时器，确保图片已经加载完了，再把图片指定的的class，清掉，避免重复编辑
              setTimeout(function() {
                if (o.isLoad) {
                  _this3.removeClass(o, className);
                  o.style.cssText = "";
                }
              }, 1000);
            }
          );
        } else {
          this.aftLoadImg(
            oImgLoad[i],
            oImgLoad[i].getAttribute("data-src"),
            errorUrl,
            function(o) {
              var _this4 = this;

              //添加定时器，确保图片已经加载完了，再把图片指定的的class，清掉，避免重复编辑
              setTimeout(function() {
                if (o.isLoad) {
                  _this4.removeClass(o, className);
                  o.style.cssText = "";
                }
              }, 1000);
            }
          );
        }
        (function(i) {
          setTimeout(function() {
            oImgLoad[i].style.cssText = "transition:all 1s; opacity: 1;";
          }, 16);
        })(i);
      }
    }
  },
  // 复制邀请码  uid 为用户的id
  codeInvCode: function(uid) {
    window.WebViewJavascriptBridge.callHandler("copyText", uid, function(
      response
    ) {});
  },
  // 分享  type： 分享类型  shareWxhy 分享到微信  shareQhy 分享QQ
  shareWx: function(type) {
    if(!shareConfig.share_url){
      Axios.get(url.returnUrl()+
          "/wap/user/getShareConfig?" +
          window.location.search.split("?")[1]
      ).then(res => {
        if (res.data.status == 1) {
          shareConfig = res.data.data;
          let options = {
            url: shareConfig.share_url,
            thumb: shareConfig.thumb,
            title: shareConfig.title,
            description: shareConfig.description,
            share_way: 1,
            share_way_wechat: 1
          };
          window.WebViewJavascriptBridge.callHandler(type, options);
        } else {
          console.log("获取分享数据错误");
        }
      });
    console.log("调取微信分享"+type)
    }else{
      let options = {
        url: shareConfig.share_url,
        thumb: shareConfig.thumb,
        title: shareConfig.title,
        description: shareConfig.description,
        share_way: 1,
        share_way_wechat: 1
      };
      window.WebViewJavascriptBridge.callHandler(type, options);
      console.log("调取微信分享"+type)
    }
    
  },
  getShareInfo: function() {
    // 获取微信分享的信息
    //https://kd.youth.cn/wap/user/getShareConfig
  },
  //  短信邀请
  toSms: function() {
    inviteCallback();
    if (isAndroid) {
      // 判断是 安卓还是ios
      window.WebViewJavascriptBridge.callHandler("sendSMS", sms, function(
        response
      ) {});
    } else {
      window.WebViewJavascriptBridge.callHandler("ToSms", sms, function(
        response
      ) {});
    }
    $.ajax({
      url: "/invite/callback",
      dataType: "json",
      data: {},
      jsonp: "json",
      timeout: 2e3,
      success: function() {}
    });
  },
  // 面对面邀请 二维码邀请
  qrcode: function() {},
  // 微信授权
  checkWxAuth: function() {
    window.WebViewJavascriptBridge.callHandler("bindWechat", {}, function(
      response
    ) {});
    console.log("调取微信授权")
  }
};
